The present invention relates to simulator systems; in particular to an apparatus and method for connecting the various instruments and controls in a simulated aircraft cockpit or other simulated vehicle to the simulator control system.
Aircraft flight simulators train pilots to operate an airplane in a simulated environment. Simulators for other vehicles or human-controlled machines are also known. For example, simulators may be used to train pilots, drivers, or operators of such diverse systems as military vehicles, tanks, and artillery systems; and also trucks, trains, and construction equipment. One class of simulator digitally generates the functions of a real control panel as it would appear in an airplane (or other vehicle) under way, and displays a virtual control panel on a computer monitor. The other kind of simulator, to which the present invention is directed, provides the pilot with an exact working replica of the cockpit of a particular airplane or other machine, so the pilot can touch and operate a real control panel. The indications of the instruments on such a control panel are controlled to be consistent with the movement of the flight controls by the pilot, as well as the pilot""s selection of instrument settings. Although the invention disclosed here is primarily discussed in the context of aircraft simulators, the reader should understand that other embodiments of the invention are possible and desirable for other types of vehicles and machines, and the term xe2x80x9cpilotxe2x80x9d should be understood to include the human operator of such other vehicles and machines.
Realistic simulators typically have control panels constructed of modular parts. Each such modular part represents a particular instrument, switch, display, or control. Each module must accept commands to change its display consistent with the simulation program, and must also send data to a central control system to tell that system what is its current state. In modern simulators, the control system is a computer programmed to generate the necessary commands to the simulator""s instruments and controls. This method requires that many diverse devices communicate with this host computer. Moreover, this exchange of data and instructions must happen rapidly to keep the instruments realistically updated; typically 60 times per second.
In the prior art, the control panel modules and the host computer are connected with individual wires, via some sort of signal-conditioning interface between each panel module and the computer. Considering that each panel requires both power and data lines, the number of wires rapidly becomes bulky and unwieldy. There are two other main problems with this approach.
First, the large number of wires and connections creates a high probability of failure, and a corresponding difficulty in finding and fixing such faults. Second, modules of a given kind cannot readily be moved between different positions in the cockpit because the wiring associated with a particular module is fixed. Thus a new wiring harness is required. The same problem exists in moving instrument modules between simulators representing different models or configurations of the same aircraft or vehicle.
At least one prior-art patent, U.S. Pat. No. 5,017,141, to Relf, et al. attempts to solve this problem by moving the processing power from a central computer and distributing it among modules representing the major flight functions, such as engines, navigation, flight, and systems. The result is a complex distributed computer system involving a shared data bus, shared memory, multiple CPU""s within each module, and exchange of data between the modules. This approach may solve the wiring-interconnect problem, but it does so at the cost of considerable complication to the calculation of instrument updates and flight control.
What is needed is a simple solution to the wiring problem that removes complexity from the connections to the panel modules, while also retaining the simplicity of a central host computer.
We disclose an apparatus and method for connecting simulator instruments to a simulator host computer. The system includes a plurality of panel modules, a serial data bus (the data bus having a connection to each panel module), and a control computer connected to the data bus and to the host computer. Power wiring is preferably included in the same cable with the wiring for the serial data bus, thus allowing use of only one connector on the panel module.
Each panel module further comprises at least one instrument, where the xe2x80x9cinstrumentxe2x80x9d may be a control, a switch, or an indicator of some sort. Each panel module also has a local computer. This local computer is preferably a single-board computer further comprising a microprocessor, a read-only memory communicating with the microprocessor (for storing a computer program), and a signal-conditioning circuit connected to each instrument and the microprocessor. In each panel module, the computer program is adapted to the instrument or instruments controlled by that panel module.
The local computer communicates with the data bus for bi-directional communication between the instrument and the control computer. Each panel module has a unique address on the data bus.
The computer program running on the control computer has an input table associating each panel module address with data representing the current state of the instruments associated with that panel. It also has an output table associating data received from the host computer with each panel module address, and a process for detecting when instrument data is different from that previously stored in the output table for a given instrument. When the data is different, the instrument is commanded to update its reading by placing a message addressed to the particular panel module on the data bus.
Some instruments will not have indicators, but only states, such as switches, changed by the operator. In this case, the computer program running on the control computer receives state data from the panel modules and compiles a message to send to the host computer.
In the preferred embodiment a process for receiving a message from the control computer runs on the local computer. A process for determining if the message is addressed to the instrument also runs. If the control computer sends a message addressed to the instrument associated with the local computer, a process then runs for sending control signals from the local computer to the instrument to change the state of the instrument.
The local computer has a process for detecting a change in the state of the instrument, and a process for comparing the state of the instrument to its recorded state. If the current state and the recorded state differ, a process runs for sending a message to the control computer so that the control computer can update its input table entry for that instrument.